/*
 * DPComparator.h
 * DPComparator Class
 *
 * author : T. D. Gamage
 */

#pragma once
#include "Matrix.h"


using namespace std;
class DPComparator
{
private:

    Matrix* errorMatrix;
    int minSize;
	int maxSize;
	 
public:
    void setErrorMatrix(Matrix* errorMatrix,int sizeOne,int sizeTwo); 
 //   void setMinMaxSize(int sizeOne,int sizeTwo); 
    float calculateDPError(); 
    void getColumnRemoveList(Matrix* matrixNewContour,Matrix* pMatrix,Matrix* qMatrix,list<int>* returnColumnRemoveList,int p,int q);
    //list<float>* getRowMin(Matrix* matrix,list<int>* columnRemoveList, int row);
    void getRowMin(Matrix* matrix,list<int>* columnRemoveList,list<float>* returnRowMinList, int row);
    float minVal(float value1, float value2);
    virtual ~DPComparator(void);

};